/*
7-4 掉入陷阱的数字(25 分)
对任意一个自然数No,先将其各位数字相加求和，再将其和乘以3后加上1,变成一个新自然数Ni; 然后对NI 重复这种
。作者: 周强
操作，可以产生新自然数N....多次重复这种操作，运算结果最终会得到一个固定不变的数Nk,就像掉入一个数
单位: 青岛大学
字“陷阱”
时间限制: 400ms
本题要求对输入的自然数，给出其掉入“陷阱”的过程。
内存限制: 64MB
代码长度限制: 16KB
输入格式:
在一行内给出一个自然数No (No <30000 )。
输出格式:
对于输入的No,逐行输出其掉入陷阱的步骤。第i行描述N掉入陷阱的第i涉，格式为: i:N; (i 2 1)。当某一步得到的
自然数结果Nn (k 2 1)与上一步Nk-1相同时，停止输出。
输入样例:
输出样例:
1:16
2:22
3:13
4:13

思路:
输入(n0)
while (n0 != n1)
{
	n1=n0;
	n0=取各位和乘3加1(n0)
	输出 (n0)
}

step1: n0=5; n1=5; n0=16 n0!=n1
step2: n1=n=16 n0=22;
step3: n1=n=22 n0=13;
step4 n1=13 n0=13 n0==n1结束

*/
#include<stdio.h>

int fun(int num)//此函数数一个数的各位数之和的三倍加一
{
	int a=0;
	while (num)
	{
    	a+=num%10;
    	num/=10;
	}
	return a*3+1;
}
int main()
{
	int n0,n1,i=0;
	printf("请输入任意自然数(1<N0<30000)\n");
	scanf("%d",&n0);
	while (n0 != n1&&n0)
	{
		i++;
	    n1=n0;
	    n0=fun(n1);
	    printf("%d:%d\n",i,n0);
	}
	return 0;
}